/*
    Ship Type Data, stores Ship base Statistics, such as hardpoints and model, perhaps set up later
    so as to be a base hull, with modules added to a ship that modify other stats.
*/
#ifndef SHIP_TYPE
#define SHIP_TYPE

class Ship; // Forward reference required for Ship to be a friend of ShipType

class ShipType
{
    friend class Ship; 
    public :

        ShipType
        (
            char  *iPName,
            DarkImage *iPImage,
            DarkImage *iPShieldImage,
            double iThrust,
            double iFriction,
            double iRotationRate,
            double iEnergyGen,
            double iEnergyCap,
            double iHull,
            double iRadius,
            double iMass
        );
        
        ~ShipType
        (
            void
        );
    private:
        
        string _name            ;
        DarkImage *_pImage      ; // Ship's sprite
        DarkImage *_pShieldImage; // Ship's shield sprite
        double _thrust          ; // Perhaps this will be part of a later engine module
        double _friction        ; // ----
        double _rotationRate    ; // ----
        double _energyGen       ; // Part of reactors?
        double _energyCap       ; // ----
        double _hullCap         ; // Default ship's health capacity, or amount of health the ship can have when in perfect condition
        double _radius          ; // 
        double _mass            ; // 
};
#endif